package model.solicitud;

import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import dtos.ItemSolicitudDTO;
import model.Rodamiento;

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="estaCotizado",
    			              discriminatorType=DiscriminatorType.STRING)
@Table(name="ItemsSolicitud")
@DiscriminatorValue("NO_COTIZADO")
public class ItemSolicitud {

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name="idItem")
	private int id;
	
	@ManyToOne
	@JoinColumn(name="codigoRodamiento")
	private Rodamiento rodamiento;
	
	private int cantidad;
	
	public ItemSolicitud(){}
	
	public ItemSolicitud(Rodamiento rodamiento, int cantidad)
	{
		this.rodamiento = rodamiento;
		this.cantidad = cantidad;
	}

	public Rodamiento getRodamiento() {
		return rodamiento;
	}

	public void setRodamiento(Rodamiento rodamiento) {
		this.rodamiento = rodamiento;
	}

	public int getCantidad() {
		return cantidad;
	}

	public void setCantidad(int cantidad) {
		this.cantidad = cantidad;
	}	
	
	public ItemSolicitudDTO getView()
	{
		return new ItemSolicitudDTO(this.rodamiento.getView(), this.cantidad);
	}
}
